fix(shell_integration/macOS/FileProviderExt): Add method to acquire user agent in...
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Thu, 8 May 2025 06:04:54 +0000 (14:04 +0800)
committerJyrki Gadinger <nilsding@nilsding.org>
Mon, 28 Jul 2025 07:48:16 +0000 (09:48 +0200)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/Services/FPUIExtensionService.swift
shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/Services/FPUIExtensionServiceSource.swift

index 0c3e444a9abbc2192d9aa40a2c8639ae054c4584..a572942a88d6788a74450ee8badf73c93f2722a5 100644 (file)
@@ -13,6 +13,7 @@ let fpUiExtensionServiceName = NSFileProviderServiceName(
 )
 
 @objc protocol FPUIExtensionService {
+    func userAgent() async -> NSString?
     func credentials() async -> NSDictionary
     func itemServerPath(identifier: NSFileProviderItemIdentifier) async -> NSString?
 }
index 5b8fd45751adefcd16567dffcbd1bb8ea7f77bdd..047572c667b6ad8c167711915dd04a2234de5436 100644 (file)
@@ -40,6 +40,14 @@ class FPUIExtensionServiceSource: NSObject, NSFileProviderServiceSource, NSXPCLi
 
     //MARK: - FPUIExtensionService protocol methods
 
+    func userAgent() async -> NSString? {
+        guard let account = fpExtension.ncAccount?.ncKitAccount else {
+            return nil
+        }
+        let nkSession = fpExtension.ncKit.getSession(account: account)
+        return nkSession?.userAgent as NSString?
+    }
+
     func credentials() async -> NSDictionary {
         return (fpExtension.ncAccount?.dictionary() ?? [:]) as NSDictionary
     }